package main

import (
	"fmt"
	"strings"
)

func main() {

	// string
	fmt.Println("-------------------------------")
	s1, s2 := "HelloWorld", "abc"
	fmt.Println(s1, s2)
	// 翻转字符串并存入新变量中
	s3 := reverse_string(s1)
	fmt.Println(s3)  // dlroWolleH
	// 创建含有指定个相同字符的字符串
	s4 := strings.Repeat("c", 4)
	fmt.Println(s4)

	// 字符串长度
	fmt.Println(len(s1))  // 10
	// 字符串是否为空
	fmt.Println(len(s1) == 0)  // false
	// 字符串比较
	fmt.Println("abc" < "bcd")  // true
	fmt.Println(strings.Compare(s1, s2))  // -1

	// 翻转字符串
	fmt.Println(reverse_string(s2))
	// 截取子串
	fmt.Println(s1[1:4])  // ell
	// 查找
	fmt.Println(strings.Index(s1, "llo"))  // 2
}

// 翻转字符串，返回翻转后的结果
func reverse_string(s string) string {

	chs := []rune(s)
	for i, j := 0, len(chs)-1; i < j; i, j = i+ 1, j- 1 {
		chs[i], chs[j] = chs[j], chs[i]
	}
	return string(chs)
}
